using System;

namespace LicenceManager.Core
{
    public interface ILicenceService
    {
        /// <summary>
        /// 生成Licence文件
        /// </summary>
        /// <param name="hardwareId">硬件ID</param>
        /// <param name="expiryDate">过期时间</param>
        /// <param name="filePath">Licence文件路径</param>
        void GenerateLicence(string hardwareId, DateTime expiryDate, string filePath);

        /// <summary>
        /// 验证Licence
        /// </summary>
        /// <param name="filePath">Licence文件路径</param>
        /// <returns>验证结果，空字符串表示验证通过，非空表示错误信息</returns>
        string ValidateLicence(string filePath = "licence.dat");

        /// <summary>
        /// 获取硬件ID
        /// </summary>
        /// <returns>硬件ID</returns>
        string GetHardwareId();
    }
}